#ifndef		States__StateMainMenu_h
#define		States__StateMainMenu_h

#include	"IState.h"
#include	<GUI/ControlGroup.h>
#include	<GUI/Control.h>
#include	<GUI/CallBack.h>

const unsigned int StateMainMenuId = 1;

class StateMainMenu : public IState
{
public:
	StateMainMenu(StateMachine * machine);
	virtual ~StateMainMenu();
	virtual void update(double delay);
	virtual void render() const;
	virtual void changingState(bool active);
private:
	void buttonStartPressed(IControl * control);
	void buttonRulesPressed(IControl * control);
	void buttonAuthorsPressed(IControl * control);
	void buttonExitPressed(IControl * control);
private:
	ControlGroup m_control;
	ICallBack * m_callBackStart;
	ICallBack * m_callBackRules;
	ICallBack * m_callBackAuthors;
	ICallBack * m_callBackExit;
};

#endif	//	States__StateMainMenu_h

